package com.adderis.soft.domain.dao;

import java.util.List;

import com.adderis.soft.domain.model.Methode;

/**
 * DAO for domain model class Methode.
 * 
 * @see com.adderis.soft.domain.model.Methode
 * @author Reda
 */
public interface IMethodeDao {

	/**
	 * Persist a Methode entity in the database
	 * 
	 * @param transientMethode
	 */
	public void persist(Methode transientMethode);

	/**
	 * Remove a persisted Methode from the database
	 * 
	 * @param persistentMethode
	 */
	public void remove(Methode persistentMethode);

	/**
	 * Remove a persisted Methode from the database
	 * 
	 * @param MethodeId
	 */
	public void remove(Integer MethodeId);

	/**
	 * Update a Methode in the database
	 * 
	 * @param detachedMethode
	 * @return merged Methode
	 */
	public Methode merge(Methode detachedMethode);

	/**
	 * Find a Methode by id
	 * 
	 * @param id
	 * @return the found Methode
	 */
	public Methode findById(Integer id);

	/**
	 * Find a list of Methode
	 * 
	 * @return the found Methode
	 */
	public List<Methode> findAll();

	/**
	 * Search Methodes
	 * 
	 * @param searchString
	 * @return the found Methodes
	 */
	public List<Methode> search(String searchString);

}
